package com.ruoyi.merchant.service.impl;

import java.text.SimpleDateFormat;
import java.util.*;

import com.ruoyi.merchant.domain.Dill;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.merchant.mapper.PayoutsMapper;
import com.ruoyi.merchant.domain.Payouts;
import com.ruoyi.merchant.service.IPayoutsService;

/**
 * 提现管理Service业务层处理
 *
 * @author mirage
 * @date 2024-09-12
 */
@Service
public class PayoutsServiceImpl implements IPayoutsService {
    @Autowired
    private PayoutsMapper payoutsMapper;

    /**
     * 查询账单列表管理
     *
     * @return 账单管理
     */
    public List getConsumptionHistory(Long id, String[] timeRange) {
        Map map = new HashMap();
        map.put("id", id);
        if (timeRange.length != 0 && timeRange != null) {
            map.put("startTime", timeRange[0]);
            map.put("endTime", timeRange[1]);
        }
        List<Dill> bills = payoutsMapper.getBill(map);
        Iterator<Dill> it = bills.iterator();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        while (it.hasNext()) {
            Dill dill = it.next();
            String time = dateFormat.format(dill.getTime());
            dill.setFormatTime(time);
        }
        return bills;
    }

    /**
     * 查询提现管理
     *
     * @param id 提现管理主键
     * @return 提现管理
     */
    @Override
    public Payouts selectPayoutsById(Long id) {
        return payoutsMapper.selectPayoutsById(id);
    }

    /**
     * 查询提现管理列表
     *
     * @param payouts 提现管理
     * @return 提现管理
     */
    @Override
    public List<Payouts> selectPayoutsList(Payouts payouts) {
        return payoutsMapper.selectPayoutsList(payouts);
    }

    /**
     * 新增提现管理
     *
     * @param payouts 提现管理
     * @return 结果
     */
    @Override
    public int insertPayouts(Payouts payouts) {
        Date date = new Date();
        SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        payouts.setTime(dateFormat.format(date));
        payouts.setStatus(0L);
        return payoutsMapper.insertPayouts(payouts);
    }

    /**
     * 修改提现管理
     *
     * @param payouts 提现管理
     * @return 结果
     */
    @Override
    public int updatePayouts(Payouts payouts) {
        return payoutsMapper.updatePayouts(payouts);
    }

    /**
     * 批量删除提现管理
     *
     * @param ids 需要删除的提现管理主键
     * @return 结果
     */
    @Override
    public int deletePayoutsByIds(Long[] ids) {
        return payoutsMapper.deletePayoutsByIds(ids);
    }

    /**
     * 删除提现管理信息
     *
     * @param id 提现管理主键
     * @return 结果
     */
    @Override
    public int deletePayoutsById(Long id) {
        return payoutsMapper.deletePayoutsById(id);
    }
}
